In general, a data processing system includes at least one processor, known as a central processing unit (CPU). The data processing system may further include other processors used for various types of specialized processing, e.g., graphic processing unit (hereinafter referred to as “GPU”), which can also be referred to as a visual processing unit (VPU).
For example, a GPU can be a specialized electronic circuit that is designed to be suitable for graphical processing operations, and particularly for the rendering of graphical images. In general, the GPU includes a plurality of processing elements that are ideally suitable to execute the same command on parallel data streams, similar to data-parallel processing. In many general computer configurations, a CPU functions as a host or a control processor and hands off specialized functions to other, specialized processors, such as handing off graphics processing to a GPU.
In a three-dimensional (3D) graphics application, various types of resources are used to render a screen. Among GPU data input to a GPU, texture data and geometry data are important resources required to implement real-time photorealistic rendering on a computer display screen.
Advances in device display technology have led to steady increases in screen resolution. The amounts of texture data and geometry data used in real-time rendering are increasing in proportion to screen resolution size to meet a high-resolution display. As the amount of input GPU data increases, bandwidth increases between a GPU and a memory. Accordingly, a data processing system may additionally employ a system level cache (hereinafter referred to as “SLC”) as one of methods for reducing memory traffic, other than an internal cache memory.